package com.feige.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.feige.pojo.AskForLeave;
import com.feige.pojo.vo.AskForLeaveDetailVo;
import com.feige.pojo.vo.AskForLeaveVo;
import com.feige.result.AjaxResult;

import java.util.List;

/**
 * <p>
 * 请假表 服务类
 * </p>
 *
 * @author feige
 * @since 2020-11-20
 */
public interface AskForLeaveService extends IService<AskForLeave> {
    /**
     * 通过用户ID分页查询请假信息
     * @param pageNum
     * @param pageSize
     * @param userId
     * @return
     */
    List<AskForLeaveVo> getAskForLeaveById(long pageNum,long pageSize,String userId);
    /**
     * 通过用户ID查询请假信息总数
     * @param userId
     * @return
     */
    int getAskForLeaveCountById(String userId);

    /**
     * 通过请假信息ID查询详细请假信息
     * @param id
     * @param audit
     * @return
     */
    AskForLeaveDetailVo getAskForLeaveDetailById(String id,String audit);

    /**
     * 查询该班级下的请假信息
     * @param pageNum
     * @param pageSize
     * @param clazzId
     * @return
     */
    List<AskForLeaveVo> getAskForLeaveByClazzId(Integer pageNum, long pageSize, String clazzId);

    /**
     * 查询该班级下的请假信息条数
     * @param clazzId
     * @return
     */
    long getAskForLeaveCountByClazzId(String clazzId);

    /**
     * 更新请假信息
     * @param askForLeave
     * @return
     */
    AjaxResult updateAskForLeave(AskForLeave askForLeave);
}
